Method and system for providing user interface for electronic program guide

ABSTRACT

A method and system of providing a user interface for presenting television programming schedule data on a display. The schedule data is organized in a data plane comprising data cells identifying the items of schedule data, such as the titles of the television programs. The method involves presenting a highlight cell or cursor at a fixed position on the display such that a first data cell is at a concurrent position with the highlight cell, and allowing the data plane to scroll on the display in at least one direction such that all or part of the first data cell moves out of concurrent position with the highlight cell and a second data cell or part thereof moves into concurrent position with the highlight cell. This fixed position highlight cell thus remains stationary while the data plane or electronic program guide scrid moves, making it easier for viewers to peruse the selections in the data plane without moving their eyes substantially. The highlight cell is preferably in a substantially central location on the display.

RELATED APPLICATIONS

This application is a continuation-in-part of U.S. application Ser. No.09/018,541, filed Feb. 4, 1998, now pending.

The present application is related to the following commonly ownedapplications:

Application Ser. No. 09/103,315, filed Jun. 24, 1998, titled “Method andSystem for Providing Selectable Programming in a Multi-Screen Mode,”

Application Ser. No. 09/018,541, filed Jun. 24, 1998, titled “Method AndSystem For Navigating Through Content In An Organized And CategorizedFashion,”

Application Ser. No. 09/103,316, filed Jun. 24, 1998, titled “Method andSystem for Providing Dynamically Changing Programming Categories,”

All of the above applications as well as application Ser. No. 09/018,541are hereby incorporated by reference into this application.

BACKGROUND OF THE INVENTION

This invention is directed to a method and system for providing contentin an organized and categorized manner. In particular, this invention isdirected to a method and system for delivering television programmingwhich is categorized in domains and for delivering navigational toolswhich provide information about and access to multiple channels orprograms. Users can navigate through the domains, tools, and channelswith a feeling of three dimensional movement.

In the early days of television, viewers were offered few channels and alimited number of programs. Indeed, over-the-air television broadcastingin any given region was, and still is, limited to only about half of thethirteen VHF channels and several UHF channels. With limited channelsand programming, viewers had little difficulty choosing what to watch ata given time by simply switching from one channel to the next until adesired program was presented.

The advent of cable and satellite television broadcast systems increasedthe number of channels being delivered. Presently, many programmingproviders, whether using cable, microwave, satellite, or the like,provide upwards of 60 to 100 channels of programming at any time. Aswith over-the-air broadcasting, the channels are arranged linearly innumeric order, e.g., from channel 1 through channel 99. Viewers changechannels or “channel surf” by either moving from channel to channel inlinear fashion or by selecting a specific channel by number and jumpingdirectly from another channel to that channel.

The increased channel capacity of newer systems has provided theopportunity and need to offer a greater number and variety ofprogramming of different types. For example, not only are there anincreased number of conventional television programs such as situationcomedies, dramas, game shows, and the like, but television now providesa proliferation of talk shows, cooking shows, music videos, shoppingprograms, movies, and more. Furthermore, entire channels are devoted toshowing only programming of a specific category or group, such as moviechannels, comedy channels, cooking channels, sports channels, shoppingchannels, etc. Cable and satellite system operators offer some of thesechannels as part of a “base” subscription package, and offer otherchannels, such as Home Box Office or Showtime, only for a premium.Additional channels offer programs on a pay-per-view basis.

With the increased number of channels and programs offered by cable andsatellite systems, it becomes more difficult for viewers to identify theprogramming choices at any time by channel surfing. The time taken tomove from channel to channel, wait at each channel to determine whatprogram is on, and decide whether to watch the program seriously cutsdown viewing time once a program is selected. In addition, the viewermust remember what program is playing on each channel in order to decidewhat to watch and return to a prior channel if desired. Finally, thistype of channel surfing makes viewing by other viewers a jumpy,disconcerting, and generally unpleasant experience.

New technological developments such as digital video and high definitiontelevision promise to dramatically increase the number of channelsavailable. Television broadcasting systems of the near future willlikely have 500 or even 1000 channels available for viewing at any giventime. Interactive services, including video on demand and Internet oron-line services provide even more potentially available content fordistribution over television broadcast systems. The problems describedabove associated with channel surfing through a more limited number ofchannels will clearly become exponentially more serious, to the pointwhere conventional channel surfing techniques become entirely unusable.

Thus, there is a need for a new system for organizing and navigatingthrough television channels and programs. The present invention providessuch a system. Furthermore, with such a large quantity of programmingcontent available to viewers, it is desirable to organize the content ina manner that is intuitive and provides for highly efficient viewing bythe viewing audience. The present invention provides a viewing audiencewith content organized and presented to facilitate navigation throughthe content in an efficient and intuitive manner.

SUMMARY OF THE INVENTION

It is an object of the present invention to solve the deficiencies notedabove in current television programming delivery and selection.

It is another object of the present invention to provide an interfacefor television program selection that makes the process of selecting andviewing programs non-intimidating, pleasant, and entertaining.

It is another object of the invention to provide a navigation systemadvantageous for use with various types of data including on-lineservices over the Internet, kiosks or information booths, Internetbrowsers, as well as conventional television programming or movies. Sucha navigation system provides an easy transition from today's limitedviewing choices to the unlimited pallet of digital television, toencourage access to a maximum number of relevant program offerings, andto remove the fear, uncertainty and intimidation factors from digitaltelevision.

It is another object of the invention to provide viewers with newoptions for obtaining information and navigating through the manychannels provided for viewing.

It is another object of the invention to provide viewers with moreoptions for navigating through the information provided.

These and other objects are provided by a system and method fordelivering content that is organized to allow a viewer to access desiredprogramming in an orderly fashion and which provides viewers with afeeling of three dimensional movement while navigating through contentchoices. The method involves categorizing the content into a pluralityof domains according to related subject matter. Example domains includetelevision, movies, shopping, cooking, sports, local, kids and the like.A plurality of navigational tools are provided which each offerinformation about a variety of content choices in a given domain. Sometools also provide access to the content choices; that is, allow usersto move from the tool to the display of the content choice. The toolsare, for example, a host tool, where a “host” gives a tour of thecontent available in a given domain, a multiscreen browser whichdisplays audiovisual representations of the content choices, and anintelligent program gide which scrolls the content choices for a giventime period. The tools are generally ordered to correspond to thecognitive abilities of viewers, with tools ranging from the simple hosttool which presents preselected choices to a custom tool which allowsviewers to program viewing selections and parameters.

When the system is applied to a television environment, the televisionprogramming originates at a head end, is organized and categorized intodomains, tools and channels, and is processed for distribution throughcable or another type of wired or wireless broadcast distribution. Atthe user locations, a set top box and remote control are provided. Theset top box includes appropriate demultiplexing and decoding circuitryin order to develop signals playable by a television receiver. Theplayable signals are then output to the television set for display. Theremote control contains special buttons for navigating between domainsand tools, and for performing other advantageous functions such astagging programs for later viewing.

BRIEF DESCRIPTION OF THE DRAWINGS

For a fuller understanding of the invention, reference is made to thefollowing description taken in connection with the accompanyingdrawings, in which:

FIG. 1 is a pictorial representation of a user viewing content inaccordance with the present system illustrating a plurality of tools anddomains;

FIG. 2 is a pictorial representation similar to FIG. 1 showing a usernavigating through channels within the television domain and channeltool;

FIG. 3 is a schematic representation of a television screen including aplurality of hot-spots;

FIGS. 4A and 4B are elevational views of two sides of a remote controldesigned in accordance with the present invention;

FIG. 4C is a back and right side perspective view of an alternateembodiment of a remote control designed in accordance with the presentinvention;

FIG. 4D is a back side elevational view thereof;

FIG. 4E is a front and right side perspective view thereof;

FIG. 4F is a front side elevational view thereof;

FIG. 5 is an exemplary two dimensional map of tools versus domains;

FIG. 6 is an exemplary three dimensional map illustrating the thirddimension of the television domain of the map of FIG. 5;

FIG. 7 is a screen display of a map listing tools along a first axis anddomains along a second axis;

FIG. 8 is a sample tool screen illustrating common tool screen elementsused in one embodiment of the present invention;

FIG. 9 is a flow chart showing the process of providing transitionalsegments when moving between domains and tools;

FIGS. 10A-10H are a sequence of screen displays showing a transitionbetween domains in accordance with the flow chart in FIG. 11;

FIGS. 11A-11H are a sequence of screen displays showing a transitionbetween tools in accordance with the flow chart in FIG. 11;

FIG. 12 is an exemplary illustration of an exemplary screen in the hosttool;

FIG. 13 is a flow chart showing the process of navigating around thehost tool;

FIG. 14 is a flow chart showing the process of displaying events inaccordance with one preferred embodiment of the present invention;

FIG. 15 is an illustration of an exemplary screen in the multiscreenbrowser tool;

FIGS. 16A-16B contain a flow chart showing the process of creating andnavigating around the multiscreen browser tool in accordance with oneembodiment of the present invention;

FIG. 17 shows a video source and grid overlay for the multiscreenbrowser tool of one embodiment of the present invention;

FIGS. 18 and 19 contain flow charts showing the processes of generatinga tag edit menu and tagging programs or channels for later viewing;

FIG. 20 is an exemplary tag edit menu generated and used according tothe processes shown in FIGS. 18 and 19;

FIG. 21 is a diagrammatic illustration in top plan view of a data planeapproach to an intelligent program guide with a lens transposed thereon;

FIG. 22 is a diagrammatic illustration in isometric view of a data planeapproach to an intelligent program guide with a viewer's sight paththrough a lens illustrated;

FIGS. 23A-23C illustrate a first embodiment of a sequence of screens inthe intelligent program guide showing the handling of programming thatis longer than one half (½) hour;

FIG. 24A-24C illustrate a second embodiment of a sequence of screens inthe intelligent program guide showing the handling of programming thatis longer than one half (½) hour;

FIG. 25 is a flow chart showing the process of generating and navigatingthrough the intelligent program guide tool in accordance with oneembodiment of the present invention;

FIGS. 26 and 27 contain flow charts showing the process of moving theprogram guide grid in the intelligent program guide tool;

FIG. 28 is a flow chart showing the process of presenting apicture-in-graphics cell in the intelligent program guide tool of oneembodiment of the present invention;

FIG. 29 is a flow chart showing the process of navigating and makingselections in a pick menu in the intelligent program guide;

FIGS. 30 and 31 show exemplary screens for the intelligent program guidetool for specific categories and domains;

FIGS. 32A-32D contain flow charts showing the process of navigatingwithin the channel tool of one embodiment of the present invention;

FIG. 33 is an exemplary screen in the channel tool with an informationalbanner displayed in full;

FIG. 34 is an exemplary screen in the custom tool;

FIGS. 35A-35B contain flow charts showing the process of selecting andstoring favorite channels in the custom tool;

FIGS. 36A-36B contain flow charts showing the process of setting blockedchannels and programs in the custom tool;

FIGS. 37A-37C illustrate exemplary channel rings with current datapointers for the host, MSB and viewing tools in the television domain;

FIGS. 38A-38C illustrate exemplary channel rings with current datapointers for the custom, IPG and information tools in the televisiondomain;

FIGS. 39A-39B illustrate exemplary channel rings with current datapointers, sorted for news and blocked for adult content in the viewingtool and IPG in the television domain; and

FIG. 40 is an exemplary two dimensional map illustrating policies forcontext sensitive switching.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The preferred embodiments of the present invention described belowillustrate the invention as applied to television programming. Whiletelevision programming is a preferred application of the presentinvention, all types of content are contemplated within the scope of theinvention. For example, the present invention may be applied to contentprovided over the Internet by on-line services, other communicationnetworks, in kiosks or other information booths, by Internet browsingsoftware, etc. Thus, the terms programming and content are used togenerally describe all types of audio and video information as well asdigital data.

Conceptual Overview of Navigational System

In accordance with the present invention, a navigational system isprovided in which programming to be distributed is categorized andorganized to facilitate navigation by viewers through the programming.The full set of available programming is organized into a number ofdomains, each of which represents some categorical class or businessunit of programming. Examples of domains include television, movies,local programming, sports, and others. Each of the domains may befurther organized into more particular categories of programmingspecific to that domain. For example, the television domain may bebroken into categories such as news, comedy, drama, etc., eachrepresenting a type of program available in the television domain.

In addition to organizing programming into domains, the navigationalsystem of the present invention provides a number of navigation tools toviewers. The navigation tools provide current or future programmingchoices to viewers through different user interfaces. The specificprogramming choices made available depend upon the tool being used andthe viewer's current domain and category. Some tools provide a limitednumber of preselected choices, while other tools present all theprogramming choices and allow viewers to narrow the choices by selectingcertain categories. For example, if a viewer is using a tool in thetelevision domain and the viewer selects the comedy category, the toolwill present program choices related to television comedy programs. Theviewer can select one of the program choices for viewing and, if theselected program is currently available, the selected program ispresented to the viewer. If the viewer changes to the movies domain, thetool will present a choice of movies available for viewing.

FIGS. 1 and 2 pictorially illustrate the mental impression a userreceives when navigating through the navigational system of the presentsystem. For ease of illustration, the example of FIG. 1 illustrates onlythree domains 10: television, movies, and local programming. The domains10 are arranged in a circle because they are sequentially accessible bythe viewer in a looped configuration. That is, the viewer can move fromthe television domain to the movies domain to the local domain and thenback to the television domain. Each time the viewer changes domainsalong the loop, a perception of moving around the circle is realized.The navigational system provides transitional segments, described below,when moving between domains to enhance the viewer's feeling of motionwhen navigating between domains.

As shown in FIG. 1, a series of tools 12 are illustrated arranged alonga radius of the domain circle. Although the tools 12 are shown withreference to the television domain, they are accessible in each of thedomains. The viewer may scroll from tool to tool within the televisiondomain, and may change domains 10 while using one of the tools 12. Asthe viewer scrolls through the tools 12, the viewer gets a feeling ofmotion in a direction perpendicular to the direction of motion betweendomains 10. Transitional segments are provided to enhance thisperception of movement between tools as compared to movement betweendomains.

At the intersection of each domain and tool, representing a layer orlevel in the system and sometimes referred to herein as a “zone,” theviewer is given a selection of programming choices for viewing. Thespecific programming choices in each zone are determined by the currentdomain and category of programming or channel, and the manner in whichthese choices are presented is determined by the tool being used. InFIG. 2, different channels of programming content available in a givenzone are aligned along an additional axis, pictorially represented in alinear fashion along a virtual vertical axis orthogonal to the radius14. The movement within a zone from channel to channel or from categoryto category provides the feeling of transition which is different thanthe transitions between domains or tools.

The navigational system of the present invention may be implemented in aone way or two way broadcast system and makes use of certain specialhardware devices including a set top box and remote control. Thefollowing sections describe these elements.

System Architecture

A one way broadcast system generally includes a head end and a pluralityof receiving ends at subscriber's homes. The transmission from head endto subscribers may be by direct dish-to-dish microwave, cable, satelliteor other transmission media known to those of skill in the art.

In preferred embodiments, the head end system converts analog televisionprogramming into compressed digital information suitable fortransmission in accordance with techniques known to those of skill inthe art. The digital video information, which may be in MPEG format, istransmitted as digital channels, with multiple digital channels beingtransmitted in a single tunable frequency band. The set top box can tuneto one of the frequency bands and generally includes circuitry fordigital video decoding, including a demultiplexer, processor, and MPEGand graphic overlay processor and memory chips. A set top box designedto perform digital video decoding and to support the functionality ofthe present invention is available from Zenith Electronics Corporationof Glenview, Ill. and DiviCom Inc. of Milpitas, Calif. Additional datais transmitted in the frequency bands, such as program guide data usedto support the intelligent program guide tool of the present invention,described in greater detail below.

A two-way or interactive broadcast system is similar to the one waysystem, except that an additional means is provided for transmission ofsignals from the set top box to the head end. This additional means mayinclude a telephone link from the set top box to the head end, one ormore back channels in a cable system to transmit intermittent bursts ofinformation from the set top box to the head end, or, in a wirelessbroadcast system, a transmitter in the set top box to wirelesslytransmit information back to the head end. Two way communicationfacilitates an array of services to be provided, such as video ondemand, purchasing of products seen on television, etc. Additionalembodiments of a two way system may become practicable as developmentsare made in the art.

As explained above, a preferred use for this system is to providetelevision programming, including standard and premium televisionchannels, movies and pay-per-view events through separate channels.However, content other than video may also be provided. For example, thesystem may be adapted to transmit pages of any kind of text, picture andother multimedia elements encoded as hypertext markup language (HTML)data with accompanying files such that world wide web-like pages can bedelivered to the television screen.

As described in detail below, several of the navigation tools of thepresent invention provide an interactive interface which allows viewersto select programs or channels for immediate or later viewing. In a oneway broadcast system, the viewer's selections in these tools can not becommunicated back to the head end. Therefore, functionality must beprovided with the broadcast content which allows viewers to interactwith the tools on a real time basis. This functionality is useful evenin a two way broadcasting system to minimize the amount of up channelcommunication required for viewer interaction.

To provide this functionality, programs and other data are transmittedfrom the head end along with and linked to audiovisual content. Theprograms include overlay functions which link data with the audiovisualcontent and create actionable areas on a television screen which can beselected by viewers and which, when selected, provide links to video,audio, graphics or other data events. The data defining these actionableareas, referred to herein as “hot-spots,” and linking them to theactionable events is also provided with the broadcast content. Theoverlay functions and hot-spot data are synchronized with theaudiovisual content to give viewers the ability to interact with thehot-spots and cause the overlay functions to operate and display thelinked audiovisual or other data.

Examples of hot-spots are shown in FIG. 4. A television receiver 34 isillustrated which includes a screen 40 with four hot-spots 42, 44, 46and 48 indicated thereon. The hot-spots are predetermined areas on thescreen that can be accessed by a remote control, mouse (not shown), orother conventional input device. Each hot-spot is defined by dataprovided with the audiovisual content. This data may include, forexample, predetermined coordinates. For example, in FIG. 4, the upperleft hand corner of hot-spot 42 may be defined by x and y coordinatesx1=100, y1=90 and the lower right hand corner may be defined bycoordinates x2=300, y2=220. Using this coordinate data, a computerprogram resident in the set top box can draw a rectangle representingthe hot-spot and overlay the hot-spot with audiovisual or other contentto be presented at that location on the screen. Viewers can move fromhot-spot to hot-spot using directional keys on the remote control,described below, and the program displays a visual indication of thecurrently activated hot-spot, such as a highlight around the hot-spot.

When the viewer selects one of the hot-spots, such as by activating abutton on the remote control, the set top box program determines whethera hot-spot exists and is currently activated, and if so, the programautomatically changes the state of the screen being displayed by movingto the event linked to and indicated by the hot-spot. In the typicalsituation, this would be a full screen presentation of the audiovisualsequence illustrated within the hot-spot. However, it may be otherinformation such as alternate audio, graphics, text or other appropriatecontent like a game.

The overlay functions include a variety of retrievable information andinteractive functions that are made available to viewers while viewing aparticular television program or tool. Each television program may haveunique overlay functions since the overlay functions made available arebased upon the unique content of each program. When a television programhaving overlay functions and associated interface data is sent by thecontent provider from the head end to a viewer, the overlay functionsand interface data for the television program are synchronized with thetelevision program and loaded into the viewer's set top box. The set topbox, described in more detail below, contains a processor which readsthe overlay functions and interface data, implements the interface, andenables the overlay functions in real time and in synchronization withthe associated actionable event in the programming. As the viewerinteracts with the television program through the synchronizedinterface, the set top box implements the relevant overlay functionsselected by the viewer. Alternatively, in a two way broadcast system,the set top box may communicate with the content provider as necessaryto implement certain overlay functions selected by the user.

Patent application Ser. No. 08/773,263 and application Ser. No.08/774,055, both filed Dec. 23, 1996, are hereby incorporated byreference into this application.

Remote Control

An infrared remote unit 68, illustrated in FIGS. 4A and 4B, sendssignals input by a viewer to an infrared input of the set top box. Theremote control unit 68 contains a number of features to facilitate useof the navigational features and tools of the present invention. Theexemplary remote control unit 68 includes a housing 70 which houses alight emitting diode (LED) unit 72 and electronics (not shown). Theremote control unit 68 has two sides 68A (FIG. 4A) and 68B (FIG. 4B). Akeypad positioned on a first side 68A of the remote control unit 68,generally indicated at 96, includes numbers 0 through 9 as well as astar (*) button and pound (#) button.

A channel up/channel down key or button 74 is provided on each side ofthe remote control unit 68 with a center toggle, so that a single buttonis used for both channeling up and channeling down in a conventionalmanner. Additionally, a volume up/volume down button 100 is provided oneach side of the remote control unit 68 with a center toggle, so thatthe volume control is also on a single actuation button. Viewers canthus use the first side 68A of the remote control unit 68 in aconventional, “channel surfing” fashion. The first side 68A of theremote control unit 68 also contains conventional buttons for activatinga VCR, generally indicated at 102, which can be programmed in aconventional manner to activate any VCR unit, a mode button 104 whichchanges remote control modes between cable, television, and VCR (alsocontained on the second side 68B); and other keys conventional to remotecontrol units.

In accordance with the present invention, in addition to moving betweenchannels viewers may also move between domains and tools. At the centerof the second side 68B of the remote control unit 68 are a series ofactuation keys or buttons 75-80 used by viewers to navigate betweendomains and tools. Actuation buttons 75 and 76, positioned in anopposing up and down arrangement, are provided to move up and downbetween tools. Actuation buttons 78 and 80, positioned in an opposingleft and right arrangement, are provided for movement between domains. Apress of either button 75 or 76 causes movement from one tool to anotherand a press of either directional button 78 or 80 causes linear movementfrom one domain to another. The second side 68B also contains channeland volume buttons 74 and 100, so viewers need not flip the remotecontrol over to change channels or volume.

To help remind viewers of the difference between navigating betweendomains and tools and simply changing channels, the domain and toolactuation keys 75-80 on the remote control unit 68 are provided with adifferent shape than the channel button 74. The actuation buttons 75-80are provided in an essentially circular arrangement with an indentedcontour from the center outward for an aesthetically sophisticatedarrangement.

Four directional keys or buttons 82-88 are provided on the remotecontrol for navigating within the tools. The specific operation of thesedirectional keys depends upon the tool, as will be described in greaterdetail below. In addition, an up/down menu navigation key 85 with acenter toggle is provided for moving up and down within menus presentedin the tools.

The second side 68B of the remote control unit 68 contains additional,special actuation buttons to facilitate use of the navigational systemof the present invention. One such button is an enter or “gimme” button92. Actuation of the enter button 92 executes requests or selections or,if pressed when a hot-spot is highlighted or otherwise selected,activates the actionable event linked to the hot-spot. For example, if acertain program is featured within a hot-spot, pressing the enter button92 causes the system to tune to the channel on which that program isavailable, thus presenting the program.

As described in more detail below, the navigational system of thepresent invention also allows viewers to tag one or more programs to beplayed at a later time. A tag button 90 is provided on the remotecontrol unit 68 to facilitate this function. The remote control unit 68further contains a back button 94 which returns the viewer to apreceding tool or channel or which steps backward through a process, amap button 95 which displays a navigational map of domains and tools, asdescribed further below, and a teach or help button 99 which activateshelp screens provided by the system.

An alternative embodiment of a remote control unit is illustrated inFIGS. 4C, 4D, 4E and 4F. The alternative remote control unit 168 has ahousing 170 and LED unit 72, and has buttons positioned on three sidesof the housing 170—a back side 168A, right side 168B, and front side168C. The buttons are positioned such that a user may use the remotecontrol 168 in either a conventional, “channel surfing” manner using achannel keypad or in accordance with the navigational system of thepresent invention, and in either event have easy access to channel andvolume control buttons used in both cases without the need to duplicatethose buttons on both sides of the unit, as with the remote control unitshown in FIGS. 4A-4B.

Thus, in the alternative remote control unit 168, the back side 168Acontains a channel keypad, generally indicated at 96, conventionalbuttons for activating a VCR, generally indicated at 102, a mode button104 which changes remote control modes between cable, television, VCR,and other mode(s), and may contain other keys conventional to remotecontrol units. Mode indicator lights 105 extend around the remotecontrol unit 168 from the back side 168A to the front side 168B so as tobe visible on whichever side the remote control unit 168 is held.

On the front side 168B (FIGS. 4E and 4F) of the remote control unit 168are the actuation buttons 75-80 used by viewers to navigate betweendomains and tools, the four directional buttons 82, 84, 86, and 88 fornavigating within the tools, and pick menu actuation keys 85, which maybe either two separate keys or one toggle switch, for moving up and downwithin menus presented in the tools. The front side 168B also containsenter or “gimme” button 92, tag button 90, back button 94, map button95, and teach or help button 99, all of which function substantially asdescribed above in relation to remote control unit 68.

The right side 168C (FIGS. 4C and 4E) of the remote control unit 168contains buttons which are usable with both the navigational buttons onthe front side 168B and the channel keypad buttons positioned on theback side 168A. These buttons include two channel selection buttons 74,one up and one down provided for channeling up and channeling down, avolume up/volume down button 100 with a center toggle, a mute button101, and a power on/off button 103. Viewers can thus use the right side168C of the remote control unit 168 in a conventional, “channel surfing”fashion, and can easily access these “channel surfing” functions fromeither the conventional, television/VCR back side 168A or from thenavigational, domain/tool front side 168B of the remote control unit168.

To use the present system, a viewer needs only the set top box andassociated remote control unit. The hardware required by the viewer isof essentially the same nature as the hardware required in currenttelevision broadcast subscription systems. As with other hardware, thesystem hardware for use with the present invention is easy to connectand operate in a home viewing environment.

Although the hardware just described includes remote control unitsspecially designed for use with the navigational system of the presentinvention, one skilled in the art will recognize that other hardwaredevices may be used to facilitate use of the present invention. Forexample, a computer, such as a personal computer with appropriate soundand video processors and conventional input devices such as a keyboardand mouse, could be programmed as needed to provide the functionalitydescribed above.

Navigational System Operation

As explained above, the navigational system of the present inventionallows for navigation among domains, tools, and channels. FIG. 5illustrates a two dimensional programming map with domains arranged incolumns and tools organized in rows. Five domains are used for purposesof illustration: the games domain 122, movies domain 124, televisiondomain 126, sports domain 128, and shopping domain 120. Additionaldomains may be provided, such as a local programming domain and a VODdomain which provides viewers with video on demand and other interactiveservices. Interactive domains such as the shopping and VOD domains wouldbe best deployed with an interactive television broadcasting system. Ofcourse, a given program may be classified as part of two or moredomains, and would thus be available through each of those domains.

The navigational system also provides a number of navigational tools.Six tools are illustrated in the embodiment shown in FIG. 5, eachpositioned in a separate row of the map. The tools, described in moredetail below, include the host tool 130, multiscreen browser tool(“MSB”) 132, intelligent program guide tool (“IPG”) 134, channel orviewing tool 136, information or “info” tool 138, and custom tool 140.For purposes of this application and for ease of understanding, thefunctioning of the domains and tools are described using the televisiondomain 126 as the exemplary domain. However, one skilled in the art willunderstand the similar operation of the tools in other domains.

A viewer wishing to move between domains (an action sometimes referredto herein as “zipping”), such as from the movies domain 124 to thetelevision domain 126, would push the right actuation button 80 of theremote control 68. That is, for example, if the viewer is using the MSBtool 132 while in the movies domain 124, the viewer can move to thetelevision domain 126 and remain in the MSB tool 132. To move back frommovies domain 124 to television domain 126, the viewer would depress theleft actuation button 78 of remote control 68. Similarly, a viewermoving from the IPG tool 134 to the MSB tool 132 (an action sometimesreferred to herein as “zooming”) would depress the up actuation button75, and moving in the opposite direction would depress the downactuation button 76. In either case, the viewer remains in the samedomain while moving between tools. Then, to move between channels withina given zone (an action sometimes referred to herein as “zapping”), thechannel up/down button 74 is pressed.

The six tools are now described briefly, with more details on eachprovided below. In the host tool 130, an animated or video host isprovided to guide the viewer through selected content choices.Typically, the content choices presented in the host tool 130 aredetermined by the content provider or other player involved withtelevision programming or distribution. The host talks about thesepredetermined upcoming programs, and an on-screen menu allows viewers toselect one or more of the programs for current or later viewing. SeeFIG. 12. The host tool 130 is similar to a guided tour, and is analogousto a guided tour provided by a tour company which sets out all thepossible sites to visit and which allows tourists to decide which of thesites they desire to visit.

The next tool in the organizational scheme depicted in FIG. 5 is themultiscreen browser tool or MSB 132. In the MSB 132, multiple reducedsized videos or still images are provided. See FIG. 15. Additionally, apick menu is provided of the categories of browsers available within agiven domain, and viewers can change the content choices shown in theMSB by changing the category. For example, in a television domain thecontent in the MSB would be determined according to categories ofsubject matter of the programming content, such as comedy, drama, news,etc. The reduced sized videos or images are hot-spots, and viewers canselect one of them to tune to the specific program represented therein.

Following the MSB 132 is the intelligent program guide or IPG 134. TheIPG 134 is an interactive program guide which lists programs by channeland time in a text based format. See FIG. 21. The viewer can navigatearound the guide with the remote control 68, and can select or tag aprogram listed in the guide for immediate or later viewing. Inaccordance with further advantageous features of the present invention,data for the IPG is broadcast from the head end on multiple channels sothat the set top box, having only one tuner, need not tune away from thelast channel watched to obtain the IPG data and can present that channelor other audio and video data simultaneously with the IPG, as describedfurther below.

The channel tool 136, the next tool in the organizational scheme, is theactual programming content shown at full screen resolution. The channeltool 136 plays a segment of content, such as a video game in the gamesdomain or a television show in the television domain. For example, inthe television domain 126, channel tool 136 offers multiple channels oftelevision programming, and allows for traditional channel surfing usingthe channel up/down buttons.

The info tool 138 provides information regarding the programming contentprovided in channel tool 136. For the television domain 126, theinformation may be information regarding the playing time of a program,the actors and actresses appearing in the program, plot, ratingsinformation, or the like. Alternatively, in the sports domain 128, infotool 138 might provide further information regarding playoff races,individual player background, statistics or the like. The data for theinfo tool 138 may be obtained from the world wide web or other service.

The custom tool 140 allows viewers to preprogram particular preferences,such as which television channels they prefer and which channels theywould like to block from their children's viewing, as well as otherhouse-keeping activities. Alternatively, if a viewer has tagged programchoices presented in one of the other navigation tools, such as the hosttool 130, MSB 132 and IPG 134, the viewer can edit the list of taggedprograms in the custom tool 140. The custom tool 140 also provides forthe storage of customized channel rings, as described further below.

The tools shown in FIG. 5 are ordered in generally increasing order ofcomplexity of use and detail of information provided. That is, in thehost tool 130, shown first, the viewer receives a simple list ofsuggested program choices, and simply selects one of these choices forimmediate viewing or tags it for later viewing. The MSB 132 presents theentire range of program choices for a given domain and category inaudiovisual format, which is similar to traditional television viewing,and the IPG 134 presents the program choices in a textual format whichis also familiar to most viewers. All of these tools, presented beforethe channel tool 136, are relatively simple to use but provide limitedcontrol and details. The info tool 138 and custom tool 140, whichprovide greater details about the programming and greater control overwhat and how programming is made available through the other tools, arepositioned following the channel tool 136. Viewers wishing to maintain asimplified and more visual experience can thus remain “above” thechannel tool 136, while others more familiar with more complex,computerized interfaces may venture “below” the channel tool 136.

As shown in FIG. 5, the navigational system maintains an index of thedomains and tools. Although other indexing schemes may be used, theindex of the embodiment shown in FIG. 5 is maintained as a twodimensional array of coordinates. The first coordinate in the arrayrepresents the tools and the second coordinate represents the domains.In the exemplary embodiment shown in FIG. 5, the tools have coordinateshost=0, MSB=1, IPG=2, channel=3, info=4, custom=5, and the domains havecoordinates games=0, movies =1, television =2, sports=3 and shopping=4.Thus, for example, the zone defined by the intersection of the host tool130 and the movies domain is at coordinates (0,1), representing the hosttool 130 at coordinate 0 and the movies domain at coordinate 1. When aviewer moves around within the navigational system using the actuationbuttons 75-80 on the remote control 68, the coordinates change in onedirection, and the index is used to determine what zone to present next.

As explained above, each tool provides multiple channels or categoriesthat can be accessed through the remote control unit 68. In the hosttool 130, MSB 132, and IPG 134, different program choices are providedfor different categories. For example, comedies may be provided on oneMSB category set or “channel,” dramas are provided on another MSB“channel,” and news programs are provided on a third MSB “channel.”Alternatively, television channels may be grouped in numerical order,for example, television channels 1 through 9 provided on one MSB“channel,” television channels 10 through 18 provided on the next MSBchannel, etc. In either case, viewers navigate through these toolchannels using the channel up/down button 74 on the remote control unit68. Other tools, including the channel tool 136 and info tool 138, arebroken into multiple television channels arranged in standard numericalorder. See FIG. 6.

As shown in FIG. 6, the index is expanded to three dimensions to trackthe channels available within each zone. The television domain 126 isused for illustrative purposes, with the movie domain 124 depicted inphantom. In the preferred embodiment, the coordinates for the expandedindex are [tool, domain, channel]. The third dimension or channeldimension is indexed depending upon the channels available within thetool. For example, in an exemplary embodiment such as that in the hosttool, all television channel=0, news television=1, talk television=2,soap operas=3, dramas=4 and comedies=5. Thus, if a user wants to get tothe host in the television domain displaying choices of talk shows, theviewer navigates using the actuation buttons 75-80 and channel up/downbutton 74 to coordinates (0, 2, 2).

Aside from maintaining a viewer's position within the navigationalsystem, the use of an index as described above provides additionaladvantages. One such advantage is context sensitivity. When a user is ata particular zone and channel and changes tools, the viewer remains notonly in the same domain but also in the same category or channel. Forexample, if the viewer is at the IPG tool, television domain and talkshow channel at coordinates (2, 2, 2) and presses the up actuationbutton 75, the viewer will change to the MSB tool and be brought tocoordinates (1, 2, 2). Although the viewer changes tools from IPG toMSB, she remains in the television domain and talk channel. Thus, thenavigational system is set up such that when moving between tools, ifviewing any category of programming, the same category of programmingwill be provided in the separate tools.

In addition, when moving between domains, a viewer stays in the sametool. For example, if a user is at coordinates (2, 2, 1) and depressesthe left actuation button 78, that viewer is sent to coordinates (2, 1,2) or is placed into the IPG tool in the movie domain in the thirdchannel (coordinate 2).

Another advantageous use of the indexed coordinate system is thepresentation of a navigation map. An example of such a map is providedin FIG. 7. The navigation map lists the domains on a horizontal axis andthe tools on a vertical axis. The zones defined at the intersection ofthe domains and tools are represented by still images or reduced videosegments 160 depicting the nature of material available at the zone.These images or segments 160 may be hot-spots which link to the zonerepresented therein. The viewer can use the navigation map to find theircurrent location within the system and to move around within thenavigation map to select a desired zone to which to jump.

As a further aspect of the navigational system of preferred embodimentsof the present invention, a number of common screen elements areprovided on tool screens to help establish some uniformity of operationamong the tools. Each tool screen has some or all of the elements. Toillustrate the common screen elements of a preferred embodiment,reference is made to FIG. 8, which shows a screen in the IPG tool andVOD domain. The screen contains a tool window 180, clock 182, pick menu184, tool identifier 186, domain identifier 188, picture-ingraphics cell190, and description box 200.

The tool window 180 provides the interactive display area for thecurrent tool. In some tools, including the IPG, the tool window containsa channel lineup 202 listing channel numbers and logos in a series ofvertically arranged cells. The data for the channel logo and/or numbermay be obtained from the head end if necessary, or may be stored in theset top box. Similarly, the time data for the clock 182 is synchronizedwith the time received from the head end.

The pick menu 184 displays a number of viewer selectable options whichvary depending upon the tool used. In the MSB and IPG tools, and in someembodiments the host tool as well, the pick menu displays the availabletool channels which, as explained above, represent categories ofprogramming available within the given domain. These categories may bestored within the set top box or, if dynamically changing categories aredesired, may be provided with the data broadcast from the head end. Inthe info tool the pick menu 184 displays available sub-topics, and inthe custom tool the pick menu 184 displays available preference options.The viewer navigates up and down the pick menu 184 with the pick menukey 85 on the remote control 68, and selects one of the menu items usingthe enter or gimme key 92.

Dynamically changing categories are desirable to prevent the viewer fromfailing to receive any programming choices in an MSB or IPG screen whena given category is selected for which no programming choices arecurrently available. For instance, although a number of programmingchoices would be available within the MSB or IPG tool screen in a sportscategory on a Sunday afternoon, the MSB and IPG tools may have noprogramming choices for sports in the middle of the night. Usingdynamically changing categories provides that no sports category will bepresented at times when there are no or minimally few programmingchoices available within that category.

In addition, certain categories should preferably be broken into orpresented as subcategories when warranted by the number of programmingchoices. In the example outlined above, on a Sunday afternoon when alarge number of football games are available for viewing, the sportscategory may be replaced with a football subcategory to more accuratelyindicate the nature of the programming choices available.

To implement dynamically changing categories, the categories availableat any given time are transmitted with the programming data from thehead end, as explained above. The category data may be embedded in thedata stream for the programming data, or may be sent as a separate datapacket. Other data may be embedded with the list of categories,including the number of items in the pick menu, and, for each item inthe menu, a service identifier representing the channel number pointedto by the menu item, data identifying the item's position and size inthe menu, and other related data. Alternatively, a master list of allavailable categories may be stored and indexed in the set top box orremote control, with data identifying a subset of all such categoriesbeing transmitted from the head end.

The list of categories is generated at the head end or other location byreceiving and storing a database containing television programmingschedule data, as known to those of skill in the art. Each televisionprogram in the schedule is associated with a number of categories and/orsubcategories. An intelligent agent is used to search through theprogramming available at a given time or period of time (e.g., a two orthree hour time range) to identify the categories of programmingavailable for that time period. Categories which have associatedprograms less than a predetermined, minimal threshold are eliminatedfrom consideration. Categories having associated programs greater thanan associated maximum (e.g., nine programs, the number which may bepresented on a single MSB tool screen in one preferred embodiment) maybe divided into subcategories. Alternatively, a human operator mayselect the categories based upon the programming contained in theschedule database.

As an alternative to a complete selection of categories at each timeinterval, selected categories would be selected on a default basis-basedon repetitive programming patterns. For example, because it is knownthat many professional football games programs are available for viewingat set times such as certain Sundays of the year, a sports category orfootball subcategory would automatically be selected for that time. Thisalternative takes advantage of the fact that television programming is atype of linear programming which has generally repeating patterns ofscheduled events.

To help viewers keep track of their position in the navigational system,the tool screens provide a tool identifier 186 and domain identifier188. The tool identifier 186 appears at the top left corner of thescreen and displays the name of the current tool. The domain identifier188 displays icons of the various domains, with a highlight on thecurrent domain. The tool and domain information for these identifiersare obtainable from the coordinate index and tables relating thecoordinates to particular tools and domains. The domain icons are storedin a dynamic RAM contained in the set top box. In some tools, such asthe channel tool, the tool and domain identifiers appear onlytemporarily when a viewer changes tools or domains and then disappear inorder not to block the view of a program or other content.

The picture-in-graphics cell 190 and description box 200 displayadditional information about a program highlighted in the tool window180. This information is obtained from the head end as described above.The picture-in-graphics cell 190 displays audiovisual content of eitherthe program highlighted in the tool window 180 or of the last channelwatched before navigating to the current tool, a preference set by theviewer in the custom tool. The operation of the picture-in-graphics cellis described in greater detail below in relation to the IPG tool. Thetext for the description box 200 relates to the program highlighted inthe tool window 180.

To provide viewers with a feeling of motion between domains and toolswhen actuation buttons 76 through 80 are pressed, transition segmentsare provided between screens. When actuation buttons 75 or 76 arepressed, a transition segment is provided on the screen that gives afeeling of motion upward or downward, respectively. When actuationbuttons 78 or 80 are actuated, a transition segment is displayed thatprovides a feeling of motion left or right. These transition segmentsserve several purposes, including to provide a feeling of motion to theuser, to orient the viewer to the direction in which the viewer ismoving (e.g., up or down between tools), and to fill in a time gapcreated while the set top box is locating the appropriate data streamfor the next tool or domain as requested by the user.

The process of displaying transition segments is shown in the flow chartof FIG. 9 as described with reference to the screen displays shown inFIGS. 10A-10H and 11A-11H. FIGS. 10A and 11A show a screen for the IPGtool in the television domain, having a tool identifier 186 and domainidentifier 188. When a viewer presses one of the actuation buttons75-80, the navigational system begins to retrieve the data required forthe next screen, and the current screen is dissolved leaving only thetool identifier 186 and domain identifier 188, step 250. Next,transition animation is displayed, step 252, as shown in FIGS. 10B and11B. The transition animation is stored in and retrieved from memory inthe set top box.

If the right or left actuation button is pressed, step 254, indicatingthat the viewer wishes to move between domains, the entire transitionscreen is scrolled in the direction of the key pressed except for thetool identifier 186, step 256. The sequence of scrolling the transitionscreen is illustrated in FIGS. 10C-10E, with the screen shown scrollingto the right. Leaving the tool identifier 186 on the screen informs theviewer that the system is switching domains while remaining in the sametool. As the existing transition screen scrolls out, a new transitionscreen scrolls in from the opposite direction, step 258. The newtransition screen contains transition animation as well as the domainidentifier 188 highlighting the new domain. The sequence of scrolling ina new screen is illustrated in FIGS. 10D-10G, with the new screenscrolling in from the left. Thus, the viewer is informed that the systemhas changed from one domain to another, in this case, from thetelevision domain to the VOD domain. After the new transition screen hascompletely scrolled in, the transition animation is removed, step 260(see FIG. 10H), and the new domain screen for the current tool is fadedin, step 262. The viewer can then interact with the new screen.

If the up actuation key is pressed, step 264, indicating that a changeof tool is desired, the system checks whether it is at the first tool inthe order of tools, step 266. In the preferred embodiment, this is thehost tool. As explained above, the tools are arranged in a specificdesired sequence, and the viewer is prevented from wrapping around fromfirst to last in order to maintain that sequence. If the current tool isthe host tool, an error indication is sent to the viewer, step 278, suchas in the form of an audio beep. Otherwise, the entire transition screenis scrolled down except for the domain identifier 188, step 268. Leavingthe domain identifier informs the viewer that while the tool ischanging, the domain is remaining the same. The sequence of scrollingthe transition screen down is illustrated in FIGS. 11C-11F. At the sametime, a new transition screen with a new tool identifier 186 is scrolledin from the top of the screen, step 270, giving the viewer theimpression of moving down from one tool to the next. The sequence ofscrolling the new transition screen down is illustrated in FIGS.11C-11G. Once the new transition screen is in place, the transitionanimation is removed, step 272 (see FIG. 11H), and a new screen showingthe new tool is faded in, step 274.

A converse sequence of operations is performed if the viewer presses theup actuation key 75. The system checks whether it is at the last tool,step 276, and if so sends an error message, step 278. Otherwise, theentire transition screen except for the domain identifier is scrolledup, step 280, and a new transition screen is scrolled up from the bottomof the screen, step 282. When complete, the transition animation isremoved, step 272, and the new tool screen faded in, step 274.

The. Transition segments enhance the viewer's feeling of motion whennavigating between screens. In addition, the use of perpendicularlyarranged transition segments when navigating between domains and toolsreinforces the viewer's feeling of traveling in two different directionswhen moving between domains as opposed to moving between tools.

An alternative method of providing transitions between domains and toolshighlights the feature wherein the last channel watched is contained inthe picture-in-graphics cell 190 (FIG. 8), as described further herein.In this method, when a user presses the up or down key 75 or 76 while inthe channel tool, the frame for the channel being watched rapidlyshrinks down from the entire screen to the picture-in-graphics cell,with numerous intermediary frame sizes shown between the full sizescreen and the picture in graphics cell. Simultaneously with thistransition, the IPG tool or info tool screen, as the case may be, istransitioned into the space left on the television screen by theshrinking channel frame. This transition indicates to the user that thepicture-in-graphics cell 190 contains the last channel watched. When theuser uses the up or down key 75 or 76 to move from the IPG tool or infotool screen back to the channel tool, the last channel being displayedin the picture-in-graphics cell 190 expands from the reduced size frameto full screen view.

For this alternative method of providing a picture-in-graphics cell,during transitions between tools, the current screen is not dissolvedupon operation of one of the actuation buttons 75 or 76, but rather, thewhole tool screen scrolls out while the new tool screen scrolls in,leaving the picture-in-graphics cell 190 stationary on the screendisplaying the last channel watched. The domain identifier may remain onthe screen as well. For this method, there are no separate transitionscreens or animation used. Rather, the current screen is scrolled outeither while still in its full operational state with running video ormultiple videos, if displayed, or the video or multiple videos for thatscreen are frozen while the new screen is scrolled in. Similarly, thenew screen for the tool being scrolled in may contain running video ormultiple running videos to be displayed. The video or videos for the newscreen may continue to run while the screen is being scrolled in, or therunning video or videos may be in a frozen state while the screen isbeing scrolled in, wherein after the screen scrolls in and the videopicture or pictures are updated to the real time state to continuerunning. A similar operation would occur for transitions betweendomains, with the picture in graphics cell 190 and tool identifierremaining stationary while the two screens scroll laterally in and out.

Another implementation of this method may present in thepicture-in-graphics cell 190 the video for the currently highlightedchannel for the current tool as described further below. For example, asthe lens in the IPG tool, described below, moves from channel tochannel, the picture-in-graphics cell changes to display the video forthe current channel highlighted by the lens. With this implementation,when the “gimme” button 92 is pressed, the current video being presentedin the picture-in-graphics cell is expanded to full screen display.

The navigational system of the present invention provides otherfunctions which operate in one or more of the tools. One such functionallows viewers to tag programs for later viewing using the tag button 90on remote control unit 68. The function of tagging programs or channelsfor later viewing varies somewhat from tool to tool and is describedbelow with reference to each tool. The navigational system stores a listof the tagged programs along with the program times in the set top box,and updates this list as additional tags are created or existing tagsdeleted.

The navigational system polls the list of tagged programs on a regularbasis, such as every five minutes, to determine whether a program on thelist will be available for viewing within the given amount of time. Forany programs which will be available within the given amount of time,the system displays a message to the viewer identifying the program orprograms which will be available for viewing. If more than one programwill be available, the message presents a menu of the programs to theviewer. The viewer can then select whether to watch the program or pickone of the programs for viewing. The system transfers to a display ofthe channel in which the program is scheduled for viewing.

Another function provided by the system involves blocking. As explainedbelow, the custom tool may be used by a viewer to select certainchannels or programs for blocking. The list of blocked channels orprograms is stored in memory as explained below. If the channel orprogram is selected for viewing using one of the other tools, the systemrequires the viewer to enter a personal identification number (“PIN”)before it allows the viewing. This function allows parents to preventtheir children from watching certain channels or programs.

The navigational system of a preferred embodiment also provides forordering pay-per-view events or video-on-demand. These types of programsmay be grouped in a single domain such as the VOD domain. Because theseprograms are generally available a number of times during a day, when aviewer selects or tags a pay-per-view event or video-on-demand in any ofthe tools, the system prompts the user to select a given time. Thesystem then requires the viewer to enter a PIN and pay for or authorizepayment for the program.

The various navigation tools provided in preferred embodiments of thenavigational system are described in greater detail in the followingsections.

Host Tool

As explained above, the host tool is designed to provide a viewer with a“guided tour” of a day's or evening's programming. For example, a hostmay tell a viewer of the top rated shows for the day, selected moviesavailable, special sporting events, etc. This tool also lets the viewerexecute upon a hot-spot and be transferred to the viewer's choice ofpreferred programming. The list of programming choices is created by thecontent provider and transmitted with the program over the broadcastingsystem. Hosted viewing provides content providers with an opportunityfor attracting and selling programming content to the viewer. Forexample, the host may recommend a pay-per-view event, video on demand,or the like in order to bolster sales of the event. Additionally, thehost provides an opportunity to interact with viewers, such as bypolling viewers to obtain marketing information or the like.

Particular attention is directed to FIG. 12 which illustrates anexemplary screen for the host tool. In FIG. 12, an animated or taped orlive video host 300 introduces the viewer to upcoming or currentlyavailable programs 302 and provides suggestions designed to assist theviewer in reviewing programming choices. The data for the menu ofprogram choices 302 is transmitted to the viewer from the head end. Asthe head end periodically changes the menu choices, the menu is changedto reflect the addition and deletion of various menu choices. The settop box generates a selection cell which is controllable by the userthrough the down and up directional keys 84 and 82, respectively, on theremote control unit 68. In some embodiments, the selection cell alsorotates through the choices automatically and the viewer uses thedirectional keys to move the selection cell manually.

Each program choice 302 is a hot-spot which links to the programidentified therein. In some embodiments, audiovisual program data suchas a reduced video image may also be displayed in the host tool. As theselection cell moves from choice to choice, the audiovisual data ischanged to reflect the currently highlighted selection. The host toolscreen also temporarily contains the tool identifier and may alsocontain the domain identifier.

The process of displaying and handling viewer selections in the hosttool is shown in the flow chart in FIG. 13. When a viewer navigates tothe host tool, the tool identifier for the host is displayed along withthe host menu received from the head end, step 320. The tool identifieris then removed from the screen after a few seconds, such as sevenseconds, step 322. The viewer can then navigate among the programchoices as explained above. If the viewer presses the gimme key 92 on agiven program choice, step 324, the system determines whether theselected program choice is currently available for viewing, step 325. Ifthe program choice is currently on, the program is displayed inaccordance with an event display routine shown in FIG. 14 and describedbelow. If the program choice is not currently on, the system treats theselection as if the viewer had pressed the tag key 90, and follows thesame procedure as explained below.

If the viewer presses the tag key 90 on a program choice, step 326, thesystem determines whether the program choice is already tagged bychecking the tagged list, step 328. If the program is not alreadytagged, the program is added to the tagged list, step 330, and a messageto that effect is displayed to the viewer, step 332. A small box is alsoadded to the program choice shown in the tool to indicate that theprogram is tagged. If the program choice has already been tagged, thesystem prompts the viewer for a decision whether to untag the program,step 334. If the viewer wants to untag the program choice, step 336, theprogram choice is removed from the tagged list, step 338.

The steps taken by the navigational system when the viewer presses thegimme key 92 on a program choice are shown in the flow chart in FIG. 14.The system calls a conditional access system, known to those of skill inart, to determine whether the program choice selected is on a channel towhich the viewer is currently subscribed, step 340. The system thendetermines whether the program choice or associated channel is blockedor available only on a pay-per-view or video on demand (“VOD”) basis,step 342. The process of creating and storing blocked programs andchannels will be described further below with reference to the customtool. If the program or channel is blocked or VOD, the system displays amessage to that effect, step 344, and allows the viewer to enter therequired PIN for access to the program or channel, step 346. If the PINinput by the viewer is incorrect step 348, an error message is sent,step 350, and the program is not displayed.

If the correct PIN is input or the program or channel is not blocked,the system determines whether the selected program is a pay-per-view orVOD event, step 352. If not, the system displays the program in fullscreen resolution mode, step 354. If the program is a pay-per-view orVOD event, the system requires the viewer to authorize payment for theevent by displaying the price for the event (as received from the headend), prompting the viewer to decide whether to pay, step 356, andaccepting the viewer's decision, step 358. In some embodiments, a viewermay set spending limits in the custom tool. If a spending limit is set,the system determines whether the addition of the selected pay-per-viewor VOD program would exceed the spending limits, step 360. If thespending limits are exceeded, an error message to that effect isdisplayed, step 362, and the program is not displayed. If thepay-per-view or VOD event falls within the spending limits, the set topbox transmits billing information to the head end (in a two way system),step 364, and displays the program, step 354. In some embodiments, theset top box stores the billing information in a holder and waits for thetelephone line to be available before calling and transmitting thebilling data to the head end.

FIG. 14 illustrates one process of presenting a selected program. Oneskilled in the art will recognize that the order of steps shown in FIG.14 may be changed, or that certain steps may be omitted or addeddepending upon the interface desired.

Returning to FIG. 12, in some embodiments of the present invention thehost tool also displays program categories 304. Selecting one of thecategories brings the viewer to another tool screen, such as the MSB orIPG, with program choices filtered by the selected category, asexplained further below with reference to each of these tools. Thesecategory selections 304 would thus be hot spots linked to those toolscreens.

The host tool is the first level tool and it assists viewers in viewingprogramming content in the new navigational system of the presentinvention. The intuitive nature of the host tool is advantageous tothose viewers that prefer a tour guide with targeted viewing as opposedto wandering or channel surfing as done by many viewers today.

Multiscreen Browser Tool (MSB)

The multiscreen browser tool is a second level tool that allows viewersto scan through a block of channels all at once. These blocks maycontain programming, pay-per-view or video on demand previews,advertisements, shopping, etc. The MSB contains a plurality of windows,each showing still images or full motion video image runningconcurrently. In addition, viewers are able to see information for eachprogram, such as title, channel, cost, rating and duration, and areempowered to display more in-depth information, such as cast informationor a brief synopsis.

An exemplary multiscreen display is shown in FIG. 15. The televisionreceiver screen 380 is illustrated with six reduced sized video displays382 each displaying a different reduced size video signal. Each reducedsize video display includes a designated area for displaying indicia 384of the reduced sized display provided, such as a channel logo for thechannel on which the program featured in the window is available. TheMSB also contains (not shown in FIG. 15; see FIG. 8) the toolidentifier, domain identifier, a pick menu for the various MSB channelsavailable, a clock, and a description box.

The set of video windows 382 displayed on a single MSB screen isselected according to the MSB channel. For example, in the “comedy” MSBchannel, six different comedies would be displayed simultaneously. Theviewer selects the desired channel by making a category selection in thepick menu or by using the channel selection button 74. The viewer thenuses directional keys 82-88 on the remote control unit 68 to choose forwhich reduced sized image 382 the viewer desires to receive theassociated audio. A graphic highlight is displayed around the viewer'sselected reduced sized image 382.

The process of displaying and navigating through the MSB is shown in theflow chart in FIGS. 16A-16B. The set top box receives a video sourcefrom the head end containing the videos to be reduced; which may alreadybe reduced at the head end, and placed in MSB windows, step 400. Thedata received from the head end specifies the number of cells to beplaced in a given MSB screen. In some embodiments, the data specifyingthe number of cells for each MSB display is sent in advance with theprogram guide information. A sample video source 500 for an MSB screenis shown in FIG. 17. The set top box then constructs an overlay grid,step 402, with a number of cells corresponding to the number of cells inthe video source. FIG. 17 shows a sample overlay grid graphic 502generated by the set top box for the video source 500. The set top boxthen overlays the grid 502 and the video source 500, step 404.

The MSB does not necessarily display all the videos contained in thevideo source received from the head end. If the programs are in the VODdomain which provides pay-per-view programming, step 406, anadvertisement video or still image received from the head end isdisplayed, step 408. Alternatively, the head end may provide theadvertisements in lieu of the actual program videos. For standardprogramming, the system cross references each video in the video sourcewith the blocked programs, channels or ratings information, step 410, todetermine whether the program is blocked, step 412. If the program isblocked, the system replaces the video for that program with a messageindicating that the program is blocked and the reason therefor, e.g.,the program has a rating of R, step 414. Once each program is checked,the set top box sends the overlaid graphic and video source, withchannels blocked as necessary, to the television receiver for display.By default, the top left cell in the MSG graphic is set as highlighted,step 416.

Referring now to FIG. 16B, which continues from FIG. 16A, the systemplays the audio stream associated with the video stream in the currentlyselected cell, step 418. As explained above, for each program the headend transmits the audio data separately from but linked to the videodata. Both types of data are processed in the set top box forpresentation on the television receiver. Description data related to theprogram is also transmitted from the head end and linked to the videodata. The system displays the description data associated with theprogram in the selected cell in the description box, step 420. As aresult, the viewer can view the video in the selected cell, hear theaudio, and read the description about the program at the same time.

The viewer navigates around the MSB windows 504 by pressing one of thedirection keys 75-80 on the remote control unit 68. If the user pressesthe right direction key 80, step 422, the system determines whether theviewer was currently at the last cell in the grid, step 424, and if so,wraps to the first cell, step 426. Otherwise, the system moves theselection frame to the next cell to the right, step 428, in the same orfollowing row. Similarly, if the viewer presses the left direction key78, the system determines whether the viewer was currently at the firstcell in the grid, step 430, and if so, wraps to the last cell, step 432,or else moves the selection frame to the prior cell to the left, step434, in the same or immediately preceding row.

The operation of the up and down direction keys 75 and 76 is similar. Ifthe up button is pressed, step 436, and the current selected frame is onthe top row of a column, step 438, the selection frame is moved to thelowest row in the column, step 440. If the selection frame is not at thetop row, it is simply moved up one row in the column, step 442. If thedown button is pressed, step 444, and the current selected frame is onthe bottom row of a column, step 446, the selection frame is moved tothe top row in the column, step 448. If the selection frame is not atthe bottom row, it is moved down one row in the column, step 450.

Each time the selected frame is moved to a new cell, the system switchesto presenting the audio-stream and description data linked to theprogram in the new selected cell, steps 418 and 420.

While a given MSB window is selected, a viewer can press the tag button90 or the gimme button 92. If the viewer presses the tag button, step452, the system displays the tag select menu and allows the viewer totag the program, in accordance with the processes shown in FIGS. 20 and21 and described immediately below. If the viewer presses the gimmebutton 92, step 454, the system displays the event linked to theselected window in accordance with the process shown in FIG. 14.

The process of creating tags is now described with reference to FIGS.18-20. As seen in FIG. 18, when the tag button 90 is pressed, the tagpop-up menu is created, step 520. In accordance with some embodiments ofthe invention, the tag menu is tailored based upon the specific program.Referring specifically to FIG. 19, the tag menu always contains theoptions “no tag” and “next time,” so these options are placed in the tagmenu to be displayed, step 522. If the program is capable of beingrecorded (as, for example, if the head end does not include a code withthe program indicating that it may not be recorded), step 524, a “torecord” tag is added to the tag menu, step 526. If the program is a onetime special event (ee, a boxing match), step 528, no other options areadded to the tag menu. Otherwise, the program is on more than once andan “each time” option is added to the tag menu, step 530. If the programis a daily event, step 532, a “daily” option is added to the tag menu,step 534. If the program is on once a week, a “weekly” option is addedto the tag menu,” step 536. A resulting tag menu with all optionsavailable is shown in FIG. 20.

Returning to FIG. 18, once the tag menu is generated and displayed, thesystem checks the tagged list to determine whether the currentlyselected program has already been tagged, step 542. If so, the systemdisplays a message or tag alert indicator to that effect, step 544. Ifthe viewer selects the “no tag” option on the tag menu, step 546, theprogram is removed from the event list and all visual indicators of thetag are removed, step 548. The system also determines whether theprogram is blocked, step 550, and if so, requires the viewer to input aPIN, step 552. If the correct PIN is input, step 554, or if the programis not blocked, the viewer may select one of the options on the menu,step 556, and the program with the selected option is added to thetagged list, step 558.

Accordingly, it can be readily seen from the foregoing that the MSBallows a typical “channel surfer” to navigate through a variety ofdifferent programming content in a much more efficient manner thantypical channel surfing. This is due to the fact that the multiscreenbrowser provides a viewer with multiple reduced sized programming imageson a single screen, and with each click of the channel changing buttonthe viewer receives new sets of programming content. Additionally, themultiscreen browser allows the user to view the video for multipleprograms and listen to different audio tracks of the multiscreen images.In a two way broadcasting system, the user may even contact the head endvia telephone line 115 to request that one or more video channels besent in a multiscreen mode.

Intelligent Program Guide Tool (IPG)

As explained above, the IPG presents a program guide with programchannels and times in a grid. Viewers can use the IPG to determine whatprograms are available at any time or to plan out viewing preferences inadvance. The IPG contains particular features and elements detailedbelow that enhance the operation of the present invention.

Particular attention is directed to FIGS. 21 and 22 which generallyillustrate the functional operation of the intelligent program guide.Specifically, FIG. 21 is a top plan view and FIG. 22 is an isometricview of the IPG tool window. The IPG tool window, generally indicated as600, is designed as a matrix data plane 602 which includes televisionscheduling information arranged by channel vs. time. Portions of thedata plane 602 are moved smoothly relative to a television screen whichis indicated in phantom as reference numeral 606, while a selection cellor lens 604 remains in a stationary position with respect to thetelevision screen 606. A viewer 610 (FIG. 22) sees all the informationprovided on television screen 606 and receives more detailed informationwith regard to the data in the matrix box directly under lens 604.

The program guide functions such that each row of data represents theprogramming provided on a specific channel at sequential times, and thecolumns of information represent different programs available within agiven time slot. In the preferred embodiment, the columns are brokeninto time frames of ½ hour, representing the standard length of a shorttelevision show.

Each IPG includes a finite number of channels, and scrolls through thechannels when the user causes the scroll by pressing the up and downdirectional buttons 82 and 84 on remote control 68 (FIG. 6). In the downmode of operation, data plane 602 scrolls in the direction of arrow B,and television screen 606 and lens 604 are stationary. Thus, lens 604continuously highlights the next lower matrix box. For example, as dataplane 602 scrolls in the direction of arrow B, lens 604 willsequentially highlight the appropriate matrix box, from 614 to 616,then, from matrix 616 to matrix box 618. Near the end of each ½ hour,the data plane shifts in the direction of arrow A, such that the nextcolumn of programming information is highlighted under lens 604.

The remote control 68 (FIG. 4) is designed to allow the user to controlthe movement of data plane 602. If the user holds down a directionalbutton 82 through 88, the data plane first moves relatively slowly, butif the user continues to hold down the button, the plane's movementspeed increases. For example, the user causes the data plane to move tothe right and left by use of the directional buttons 86 and 88 of theremote control 80. The system is designed such that when a matrix box isfully within lens 604, the matrix boxes on the top, bottom and each sideof the screen are partially displayed. This partial display indicates tothe user that there is more information located in each of thedirections of arrows A, B, C and D. The user uses the directionalbuttons of the remote control to access the desired portion of dataplane 602.

Further in accordance with the present invention, the matrix boxes arehot-spots which are linked to the programs identified therein. Also, theIPG contains other common tool screen elements, including the toolidentifier, domain identifier, pick menu featuring IPG categorychannels, clock, picture-in-graphics cell, and description box (notshown in FIG. 21; see FIG. 8). As a result, the viewer can determinetheir current domain and can obtain more detailed information regardingthe highlighted matrix box under the lens 604. For example, informationsuch as the plot, rating, duration, actors, actresses, etc. may bedisplayed in the description box, either automatically or at a viewer'srequest.

Television programs which are longer than 30 minutes can be handled intwo ways. In either case the movement is at the same smooth rate, withacceleration as movement over 30 minute programs. One way is illustratedin the exemplary displays shown in FIGS. 23A-23C. In this embodiment,the title “Small Wonders,” a one-hour program, is repeated in twoconsecutive matrix boxes, each box representing 30 minutes. The lens 604smoothly scrolls from the first occurrence of the title to the second.When a user presses right directional button 88 on remote control 80,the system moves data plane 602 in the direction opposite arrow C, sothat it appears lens 404 moves in the direction of arrow C. FIG. 23Bshows lens 604 during a snapshot when it is between boxes in the matrixgrid.

Another way to handle 30 minute programs is illustrated in the exemplarydisplays in FIGS. 24A-24C. In this embodiment,only one occurrence of thetitle “Small Wonders” is provided in a matrix box, with the followingbox being empty. The title moves smoothly with the lens 604 from theleft matrix box to the right matrix box as the data plane 602 is movedin the direction opposite to arrow C. This movement between the boxes ina greater than 30 minute program also occurs whenever the title wouldotherwise scroll off the screen to the right or left regardless ofwhether it is in the lens or not.

As shown by comparing various drawings in several figures, the lens sizeis variable. For example, a comparison between FIGS. 8 and 34 shows thatthe size of the lens changes between tools. The lens shown in FIG. 34 islonger to accommodate the larger cell size used for a screen in theCustom tool than the lens shown in FIG. 8 having a shorter size for theIPG tool. Comparing FIG. 21 with FIGS. 8 and 30 shows that the lens sizealso varies among domains and among categories within a domain. In FIG.21, showing one embodiment of an IPG screen in the television domain,the lens is sized to fit a 30 minute matrix box. In the exemplary IPGscreen for the VOD domain shown in FIG. 8, the lens is sized to fit amovie title and next play time. Similarly, in the exemplary IPG screenfor the television domain in the comedy category shown in FIG. 30, thelens size accommodates the program name and play time.

As one skilled in the art will recognize, such different lens sizes mayalso be used within a given IPG tool screen for matrix boxes ofdifferent sizes. That is, for example, different size lenses 604 may beused in FIGS. 23A or 24A for programs of different length, with the lenssize used corresponding to the length of the program. The lens 604varies between different sizes when the movement of the data plane 602causes the lens 604 to cover programs of different lengths. For example,a 30 minute matrix box sized lens 604 would be used when a 30 minuteprogram such as “Spiderman” comes into position with the lens 604, whilea 60 minute matrix box size lens 604 would be used when a 60 minuteprogram such as “Small Wonders” comes into position with the lens 604.Part of the lens 604, such as the left -most part, remains in a fixedposition relative to the display. In this way, the lens 602 highlightsthe matrix box for the entire program as the box is moved into lens 602.Programs shorter than 30 minute duration, such as 15 minutes or less,can be similarly accommodated with correspondingly shorter lens sizes,and lens 604 changes size accordingly.

The process of generating and navigating around the IPG screen is shownin FIGS. 25-30. The head end transmits program event data for a certainlimited amount of time, typically about six hours worth, to the set topbox. The set top box reads and processes the data by dividing it intotwo three hour segments of program data, step 650. The system constructsa screen grid frame graphic, overlays it on the data and positions thegrid so that the lens is on the current time, step 652. The lens ispositioned on a default channel identified by the head end or set by theviewer in the custom tool. The video data linked to the program underthe lens is retrieved, reduced, and displayed in the picture-in-graphicscell.

To keep the lens positioned at the current day and time, the systemregularly checks whether the lens is positioned at the current day andtime or whether it needs to be updated, step 654. If it needs to beupdated, the system acts as if the right directional button was pressedand scrolls the grid in accordance with the process described below withreference to FIG. 27. This way, if a viewer moves to the IPG tool anduses it for a period of time, it is automatically updated to the currenttime while watched.

The viewer navigates around the IPG using the directional keys 82-88. Ifthe viewer presses the up or down directional keys, steps 656 or 658,the system scrolls the IPG grid in accordance with the proceduresdescribed below with reference to FIG. 26. If the viewer presses theleft or right directional keys, steps 660 or 662, the system scrolls theIPG grid left or right in accordance with FIG. 27. If the viewer pressesthe tag button, the program currently within the lens is tagged inaccordance with the process shown in FIG. 18, as described above. Theviewer can select items in the pick menu using the pick menu keys 85,and the ensuing pick menu selection process is described below withreference to FIG. 28. If the viewer presses the enter or gimme button92, the program currently under the lens is displayed in accordance withthe event display procedure described above with reference to FIG. 14.

Turning now to FIG. 26, if the IPG grid is to be scrolled up or down,additional data may be required from the head end if the IPG iscurrently displaying a category of programming rather than all channels,step 664. A sample screen display in the IPG tool with a specificcategory (e.g., comedy) selected is shown in FIG. 29. In the category,the IPG displays a list of program within the category and the timesthey are available for viewing. If additional data is needed to scrollup or down within this category, step 666, the data is retrieved fromthe head end, step 668. Otherwise, for each time the up direction button82 is pressed, step 670, the entire channel segment in the grid isscrolled down one row, recycling back to the first channel in thesegment after the last channel, step 672. For a press of the downdirectional button, the same procedure is implemented by moving the gridup, step 674.

Once the grid is moved up or down, the lens is positioned over a newprogram on a new channel. If the channel in the lens is subscribed to bythe viewer, step 676, and is not blocked, step 678, the video linked tothe program is displayed in the picture-in-graphics cell, step 680. Ifthe viewer does not subscribe to the channel, the system displays anadvertisement in the picture-in-graphics cell, step 682. If the programor channel is blocked, a message indicating the blockage is displayed inthe picture-in-graphics cell, step 684. In any event, the descriptiondata linked to the program is displayed in the description box, step686, either automatically or at the request of the viewer.

If the IPG grid is to be scrolled right or left, the system moves thegrid in accordance with the process shown in FIG. 27. A move to theright of left involves displaying programs for additional times. Becausethe system receives and maintains a limited amount of program data, suchas six hours stored in three hour segments in some embodiments, a moveto the right or left may involve retrieving new program data. Thus, withreference to FIG. 27, if the right directional button is pressed, step700, the system checks whether new program event data is needed, step702. If the current program data segment contains sufficient data, theentire grid is scrolled to the left one column, step 704. If the currentdata segment is insufficient, the system determines whether the lowerlimit of data received from the head end has been reached, step 706. Ifthe limit is reached, an audio feedback error message is sent, step 708,and the grid is not scrolled. If additional data is available, the upperdata segment is flushed and loaded with the next event data, step 710,and the grid is scrolled left, step 704. The corresponding process isfollowed when the left button is pressed, as shown in steps 712, 714,716, and 718 in FIG. 27.

Once the grid is scrolled either left or right, a new program item mayappear in the lens. As explained above, a new program will not appear ifthe hour half program moves to the next or previous matrix box. If a newprogram appears, the system determines whether the viewer subscribes tothe channel or program, step 720, and, if not, displays an advertisementin the picture-in-graphics cell, step 722. If the program is blocked,step 724, the system displays the blocked message in thepicture-in-graphics cell, step 726. Otherwise, the video source linkedto the program is displayed in the picture-in-graphics cell, step 728,and the description data linked to the program is displayed in thedescription box, step 730.

The operation of the picture-in-graphics (“PIG”) feature used in the IPGis described with reference to FIG. 28. The operation of the PIG issimilar in other tools. As opposed to a picture-in-picture system whichrequires the use of two tuners to present two images, the PIG system ofthe present invention requires only one tuner. As a result, the set topbox, which in one preferred embodiment has only one tuner, cansimultaneously present IPG data and video from a digital video channel,such as the last channel watched or the channel linked to a programhighlighted under the lens. This avoids the increased complexity andcost of providing a set top box with two tuners.

Referring to FIG. 28, the set top box receives multiple frequency bandscontaining multiple digital channels and IPG data from the head end,step 740. Some frequency bands may contain digital video channels whicheach include video information and IPG data. Other frequency bands mayinclude digital video channels and a separate data channel containing acontinuous stream of IPG data that is then synchronized to the digitalvideo channels in the band such that the separate digital video channelsare appropriately described by the IPG data.

Alternatively, one dedicated frequency band may be provided to transmitonly IPG data, which is then stored in set top box memory andsynchronized with video when tuned to a frequency band that has video.

A processor in the set top box controls the tuner to tune to a desiredfrequency band, step 742, depending upon the tool or channel selected bythe viewer. The tuner then passes that selected frequency band's digitalinformation to a demultiplexer in the set top box, step 744. Undercontrol by the processor, the demultiplexer redirects the IPG data to amemory chip such as a RAM in the set top box and redirects digital videodata to a MPEG chip, step 746. The processor processes the IPG datastored in the RAM to create data representing the IPG to be displayed,step 748. The MPEG chip receives the digital video data from the MPEGvideo stream and processes the data to output a series of graphic imageswhich represent the MPEG video, step 750.

A graphics chip receives the graphic image data from the MPEG chip anddata representing the IPG image from the processor. If a PIG is notrequired in the IPG, step 752, the graphics chip converts the IPG datainto a form that the television receiver can present, step 754. If a PIGis required, the graphics chip reduces the MPEG image data, step 756 andcombines it with IPG image data to create a composite image, step 758,for display on the television receiver. Such graphic manipulation andcombination is known to those of skill in the art. Alternatively, if avery high speed processor is used, the demultiplexer can send all datato the RAM and the processor then processes the IPG and digital videodata to form the requisite composite or single video image for displayon the television receiver via a simple graphics chip which converts thedata into a NTSC signal.

As shown in FIG. 8, the PIG cell 182 may be located in a corner of thetool screen. Alternatively, the PIG screen may be overlaid on part ofthe tool screen. For example, the PIG cell may be positioned near theIPG lens (such as just above and to the right of the lens) so that theviewer can see the program title in the lens and watch the PIG videotogether, without the need to move his or her eyes substantially fromlens to PIG cell and back. In that case, the graphics memory isorganized into layers of graphics planes such that the IPG is displayedin the foreground while the plane with the reduced video images is inthe background. The foreground IPG plane is then depicted in atransparent color to allow the moving video in the PIG to be viewedthrough the IPG plane.

As explained above, the IPG data may be transmitted with each digitalvideo channel, as a separate digital channel in the same frequency bandwith other digital video channels, or in a separate frequency band fromthe digital video data. When transmitted in a frequency band withdigital video data, the IPG may contain the entire set of IPG data oronly a subset thereof, for example, IPG data for the programmingavailable on the channel in the same frequency band or for programmingavailable on all channels with the next few hours.

If all IPG data is transmitted via an IPG data channel in a firstfrequency band, such as on a “home” channel transmitted either with orwithout other digital channels in the same band, and a viewer iswatching a video channel in a second frequency band, the tuner needs totune from the second frequency band to the first frequency band todisplay the currently transmitted IPG data. In that event, the set topbox will be unable to simultaneously display the IPG and the lastchannel watched. Thus, to accomplish the goal of being able to displaythe last channel watched while using the IPG, IPG data must be availablein tunable frequency bands that may contain digital video channels sothat the set top box can obtain the IPG data needed to update andpresent the IPG.

In one embodiment, IPG data for all channels is transmitted on an IPGdata channel in each tunable frequency band. This has the effect oftransmitting multiple home channels and has the disadvantage of wastinga significant amount of bandwidth. To reduce the bandwidth requirement,in another embodiment only “near-term” IPG data, that is, IPG data for afew hours around the current time, is transmitted in each tunablefrequency band while a home channel in another frequency band transmits“long-term” IPG data, that is IPG data relating to shows outside thistime frame. This allows the viewer to display an IPG with near-term IPGdata and a PIG presenting video and audio for the last channel watchedor for a program selected in the IPG. When the viewer desires to displayIPG information outside the near-term time frame, the set top box tunesto the home IPG channel and may no longer be able to display the lastchannel watched in the PIG. This drawback may be acceptable since theviewer may be more interested in viewing the IPG when viewing the IPGbeyond the near-term time frame.

In another embodiment each tunable frequency band has both a near-termand long-term channel. The set top box can then acquire long-term IPGdata, if needed, without losing the last channel watched. Moreover, thelong-term IPG data need not be frequently retransmitted, while thenear-term IIPG data is updated frequently. This embodiment has theadvantage of minimizing the amount of time needed to acquire updated IPGdata, thereby reducing the latency time for a viewer.

In another embodiment, the IPG data channel in each tunable frequencyband contains IPG data for only the data video channels in that tunablefrequency band and the immediately adjacent frequency band. The set topbox can then display the IPG for the channels in the current andadjacent frequency bands and a viewer moving among the IPG channels inthe current frequency band can simultaneously watch those channels. Whenthe viewer moves to another channel in a different frequency band whilemoving among the IPG, the set top box already has IPG informationavailable about that channel in the newly current frequency band (andpreviously adjacent) and has more time to acquire the new IPG datatransmitted in the IPG channel contained in that frequency band.

The process of navigating and selecting items from the pick menu in theIPG screen is shown in FIG. 29. The pick menu wraps from top to bottom.Thus, if the pick menu key 85 is pressed up, and the current selectionis the top item in the menu, step 770, the bottom item of the menu isselected, step 772. Otherwise, the selection moves up one item, step774. Similarly for pressing the pick menu key 85 down, if the bottom ofthe menu is highlighted as the current selection, step 775, the nextitem is the top item, step 776, and otherwise the highlighted changes tothe next menu item below the current item, step 778. If the viewerpresses the gimme key 92 to select a pick menu item, a new grid isdisplayed. If the selected pick menu item is a category (as opposed toall available programs or favorites), the category grid is displayed, asshown in FIG. 30, with days as columns each listing programs and timesand the lens set on the current day's column, step 780. The list ofprograms is sorted by channel and time, step 782. If the all shows orfavorites items are selected, the system displays the channel/time griddescribed above, step 784.

The IPG tool screen for the VOD domain in which pay-per-view programsare available is similar to the category grid. An exemplary screen isshown in FIG. 31. As shown in FIG. 31, the grid contains the availableevents listed in a column with the next and later viewing times. Viewerscan navigate, tag or enter one of these events in substantially the samemanner as the all channel and category grids.

The IPG is an electronic tool that has many advantages over aconventional paper or video television guide. Not only is the IPGconveniently located, but the tool is broken down into different domainsand different categorical channels within each domain to facilitateobtaining the desired information therefrom. Additionally, the tool isalways located at the same location and provides additional informationabout those programs about which the viewer desires to receive moreinformation. Furthermore, the viewer can link to the desired program byexecuting on a hotspot.

Channel Tool

The channel tool displays television programs in full screen resolutionmode. A viewer may enter the channel tool by either navigating to itusing the up/down actuation keys 75 and 76, or by pressing the gimmebutton on a hot-spot linked to a program, as explained above. Thechannel tool contains an additional advantageous feature, aninformational banner containing information about the current channeland program, which further supports the goals of the present invention.The viewer can display the banner in parts, and the information in thebanner is received from the head end linked to the video data for theprogram. FIG. 33 contains an exemplary screen showing the full extensionof the informational banner. As shown in FIG. 33, the banner containsthe domain identifier 900, channel icon and number cell 902, programtitle indicator 904, and description box 906.

The process of navigating within the channel tool and displaying theinformational banner is described with reference to FIGS. 32A-32D. Whenentering the channel tool or when changing channels within the tool, theprogram on the selected channel is displayed in full screen mode, step950. If the informational banner was fully or partially displayed beforeentering the new channel, step 952, the information in the banner asdisplayed is updated and the banner remains on the screen for a shortperiod of time such as five seconds, step 954. If the informationalbanner was not displayed, the tool identifier, domain identifier 900,and channel icon 902 are displayed on the screen for a short period suchas five seconds, step 956.

The viewers navigates through channels by pressing the channel upbutton, step 958, or channel down button, step 960. If the viewer goesup a channel, step 962 (FIG. 32B), the system tunes to the next channel,step 964, which is the first channel, step 962, if the viewer wascurrently at the last channel. Similarly, if the viewer goes down achannel, step 962 (FIG. 32B), the system tunes to the prior channel,step 968, or the last channel, step 970, if the viewer was currently atthe first channel. If the next or prior channel to which the systemtunes is not blocked, step 972, the program on the channel is displayed,step 950 (returning to FIG. 32A). If the next or prior channel isblocked, the system may keep advancing channels until a non-blackedchannel is found, or may prompt the viewer for a PIN to view thechannel.

The viewer can also navigate to a specific channel by entering thechannel number on the keypad 96 of remote control unit 68, step 976(FIG. 32A). In that event, if the channel selected is not blocked d,step 978 (FIG. 32C), the system tunes to the channel, step 980. If thechannel is blocked, the system prompts the viewer for the PIN, step 982,and tunes to the channel if the correct PIN is entered, step 984.Otherwise, an error message is sent, step 986, indicating that theprogram or channel may not be viewed by the current viewer.

The portions of the informational banner 898 are displayed sequentiallyby sequential presses of the gimme key 92, step 990 (FIG. 32A).Referring now to FIG. 32D, when the gimme button is pressed, if thedomain identifier is not already displayed, step 992, the systemdisplays it, step 994. If the domain identifier is displayed, but thechannel icon and number cell 902 is not yet displayed, step 996, thesystem displays the cell, step 998. If the program title indicator isnot yet displayed, step 1000, or the program information indicator ordescription box is not yet displayed, step 1002, the system displaysthose elements at the press of the gimme button 92, steps 1004 and 1006.If the entire informational banner is displayed at the press of thegimme button, it is removed from the screen, step 1008.

Returning to FIG. 32A, if the viewer presses the tag button whilewatching a channel, the tag menu is displayed and the program may betagged in accordance with the process described above with reference toFIGS. 18 and 19.

Although the channel tool allows viewers to watch programs in a mannersimilar to existing television systems, the channel tool also containsadditional functions which enhance the objects of the navigationalsystem of the present invention of giving viewers greater control overand more information for their viewing experience.

Information (Info) Tool

The info tool provides viewers with additional information regarding theprogramming delivered by the system. The info tool containsinformational content that is valuable to the viewer who has limitedhis/her choice of programming to a few events and may obtain moreinformation regarding the selected events. This information is often inthe form of text and graphics.

The data provided in the info tool may be harvested from the world wideweb, with additional meta tags added to the web documents to support thehot-spot functionality described above for selectable items in thedocument. The data is transmitted from the head end in synch with andlinked to each program currently being transmitted on each channel.Thus, the data displayed when a viewer enters the info tool relates tothe channel to which the viewer was tuned just prior to entering theinfo tool, as determined from the index described above. In someembodiments, background graphics data for the info tool is stored in theset top box memory and overlaid with the data feed received from thehead end.

The info tool screen contains some of the common screen elementsdescribed above, including the tool identifier, domain identifier,clock, picture-in-graphics cell, and pick menu. The picture-in-graphicscell presents the video and audio data from the channel to which theinfo tool screen relates. Thus, viewers can read facts about a programor channel while watching it. The pick menu presents different documentsor pages which can be retrieved relating to the program or channel.

In the organizational structure of the navigational map of FIG. 5, theinfo tool is located adjacent to the channel tool. For that reason, andfurther because of the content sensitive switching capabilities of thepresent invention, a viewer watching a program in the channel tool needonly move one tool down to obtain more information about the contentbeing watched.

Custom Tool

The custom tool provides viewers with the ability to set preferences,edit the list of tagged programs, create and edit rings of favoritechannels for each of a number of viewers in a household, and blockprograms based on channel or rating. FIG. 34 illustrates an exemplaryentry screen for the custom tool. As shown, the screen contains manycommon tool screen elements, including the tool identifier 1020, domainidentifier 1022, clock 1024, and pick menu 1026. The pick menu lists thefunctions available in the tool, including those set forth above.

As also shown in FIG. 34, many of the functions available in the customtool can be performed by multiple viewers having individual PINs. Thecustom tool screen contains tabbed screens 1028 for different viewershaving different PINs to set their individual preferences. As explainedbelow, each viewer's tagged program list, list of favorites, and list ofblocked channels or programs is stored in a channel ring individual tothat viewer.

To allow editing of the tagged list, the custom tool displays rows ofthe tagged program titles and frequency for the tag, e.g., daily,weekly, etc., which is set as described above. The viewer may navigateup and down the rows using the directional keys, and may untag specificprograms or edit the frequency by pressing the tag button and using thetag edit menu shown in FIG. 20.

Viewers create and edit a list of favorite channels by selecting thatoption in the pick menu 1026. The process of navigating around this listand setting favorites is shown in FIGS. 35A-35B. The custom tooldisplays the entire list of channels available on the system in a grid,step 1050. For each channel in the grid, the system determines whetherthe channel is in the particular viewer's ring or list of favorites,step 1052, and marks those channels on the grid as “Favorites,” step1054. If the viewer presses the right or left directional keys 88 or 86,step 1056, the favorites grid is scrolled right or left to the screenfor the next PIN, step 1058. If the viewer presses the up or downdirectional keys 82 or 84, step 1060, the favorites grid is scrolled onechannel down or up, respectively, step 1062. As with the IPG tool, thelens or selected cell in the favorites grid remains stationary while thegrid moves up or down.

The viewer selects and deselects a channel as a favorite by pressing thegimme button 92, step 1066. At the press of the gimme button, if thechannel is not already in the particular viewer's favorites ring, step1080, it is added to the ring, step 1082, and the channel is marked as afavorite, step 1084. If the channel is already in the viewer'sfavorite's ring, the channel is removed from the ring, step 1086, andthe selected channel is unmarked as a favorite, step 1088.

The operation of the blocking function of the custom tool is similar. Aviewer may block programs by blocking the program directly, blocking thechannel, or blocking all programs having a certain rating or advisorycode (e.g., violence, drug use, adult content, etc.). The system storesthe various blocking choices in rings, as further described below. Whenthe viewer enters the blocking function in the custom tool, the systempresents options to the viewer to select blocking by rating/advisorycode; by channel or by program. Referring now to FIGS. 36A-36B, if theviewer selects with the gimme key 92 to block by rating, step 1100, theviewer is prompted to input a PIN for blocking by ratings, step 1102. Ifthe correct PIN is input, step 1104, a ratings or advisory code grid isdisplayed on the screen, step 1106, and the ratings or advisory codesalready in the blocked ratings ring are marked as blocked, step 1108. Ifan incorrect PIN is input, an error message is presented, step 1110.

Similarly, if the viewer prefers to block by channel, step 1112, thesystem displays a grid of channels on the screen, step 1114, withchannels already in the channel blocking ring marked as blocked, step1116. If the viewer selects to block by program, step 1118, the systemdisplays a program guide grid on the screen, step 1120, which may besimilar to the IPG screen, with programs already in the program blockingring marked as blocked, step 1122.

Referring to FIG. 36B, the viewer navigates around the selected gridusing the remote control unit 68 in the manner explained above. If theviewer presses the gimme key 92 over any selected item in the grid, step1140, and if the ratings/advisory code grid is displayed, step 1142, andthe viewer selected a rating, step 1143, the system determines whetherthe selected rating is already blocked by comparing it to the blockedrating ring, step 1144. If the rating is not yet blocked, all ratingsequal to and higher than the selected rating are added to the blockedrating ring, step 1146. For example, if the viewer selects the rating ofR to be blocked, the R rating is blocked along with ratings of NC-17, X,etc. If the selected rating is already blocked, that rating and allratings below it, if any, are removed from the rating ring, step 1148.If the viewer selected an advisory code, the system determines whetherthe advisory code is already blocked, step 1145, and if not adds thecode to a ring of blocked advisory codes, step 1147, and if blocked,removes the code from the ring, step 1149.

If the viewer is in either the channel or program grid when pressing thegimme key 92, and the selected channel or program is not alreadyblocked, step 1150, the system prompts the viewer for a PIN, step 1152.If a PIN was input, step 1154, the selected channel or program is addedto the respective ring, steps 1156, 1158, depending upon whether theviewer is currently in the channel or program grid, step 1160. If theselected program or channel is already blocked, and system prompts theviewer whether to remove the block, step 1162. If the viewer wants toremove the block, step 1164, the system removes the blocked channel orprogram from the respective ring, steps 1166, 1168, depending uponwhether the viewer is currently in the channel or program grid, step1170.

The custom tool thus allows viewers, and parents in particular, to blocktheir children from watching particular programs or channels, or fromwatching any programs or channels having certain ratings.

Channel Rings and Policies

A channel ring is data structure in which television channel line-upsfor particular categories, customized favorites, and blocked programs orchannels are defined and stored by the navigational system of thepresent invention. Particularly, a channel ring shows the channelprogression when a viewer channels up from a base channel throughsubsequent channels. Channel ring data for categories can be deliveredfrom the head end using the techniques described above.

With particular reference to FIG. 37A, a channel ring with currentchannel pointer for the zone consisting of the host tool and televisiondomain is provided. As explained above, a “zone” is generally theintersection between a tool and a domain. The current channel pointerindicates channel 90 (host video for “all television”). When channel upis hit, the channel will move to channel 91 the host tool and newstelevision, and as the channels are continued to be moved up, the userwill scroll through the host tool and talk television, soap operatelevision, drama television and comedies television, sequentially. Ifchannel up is hit one more time after comedy television (channel 95),the channel ring will loop back to channel 90 for all television, andwill progress in that manner. Moving in the down direction on theup/down channel button 74 on the remote will cause motion in theopposite direction for the channel ring.

With particular attention to FIG. 37B, a channel ring with currentchannel pointer for the MSB and television domain is depicted. Thecurrent channel is indicated at MSB for all television (channel 80). Thechannel ring, similar to that of FIG. 37A, includes six channels,channel 80 through channel 85 and scrolls sequentially through alltelevision, news television, talk television, soap opera television,drama television and comedies television. Likewise, after comediestelevision at channel 85, if the up channel button is depressed one moretime, the channel ring loops back to channel 80 for the MSB of “alltelevision.”

Attention is next directed to FIG. 37C which illustrates the channelring with current channel pointer for viewing in the channel tool andtelevision domain. This channel ring illustrates a 75 channel system,and it is sequentially accessed from channel 2 through channel 75. Themiddle section of the channel ring, channel 5 through channel 73, iseliminated in FIG. 37C for simplicity. However, all 75 channels wouldcontain different programming.

Particular attention is next directed to FIG. 38A which illustrates adata ring with current data pointer for the custom tool and televisiondomain. The data ring includes four data channels for favoritesillustrated in FIG. 38A with DAD being at data channel 590, MOM being atdata channel 591, SIS at data channel 592 and BRO at data channel 593.The data channels can be scrolled through, and moved consecutively fromdata 590 to data 591 to data 592 to data 593 and back to data 590.

With particular attention to FIG. 38B a data ring with current datapointer for the IPG and television data is illustrated. This toolprovides program data for each of the channels. For each televisionchannel in the channel or viewing tool there is programming data forthat channel in the data ring for the IPG.

Particular attention is next directed to FIG. 38C which illustrates thedata ring with current data pointer for the information tool andtelevision domain. The ring for this tool essentially mimics the channeltool, and functions similarly. For each television channel in thechannel tool there is an information channel giving information on thattelevision show as explained above.

Attention is directed to FIGS. 39A and 39B which illustrate channelrings with portions sorted and blocked. Particularly,in connection withFIG. 39A the channel ring with current channel pointer for the viewingtool and television domain is illustrated. These channel rings aresorted for news and blocked for adult content. In particular, channel 3(local access television) and channel 74 (food network television) aresorted out as not containing news. Additionally, channel 75 (adultchannel television) is blocked out as containing adult content.Accordingly, in these embodiments, the ABC television programming andNBC television programming on channels 2 and 4 respectively are accessedby the set top box when a viewer channel surfs the content on thechannel ring.

With particular reference to FIG. 39B, a data ring with current datapointer for the IPG and television domain is illustrated. Similarly,channel 3 (program data for local access television) and channel 74(program data for food network television) are sorted out as notcontaining news. Channel 75 (program data for adult channel television)is blocked out as containing adult content. Thus, the data ring wouldskip from channel 2 (program data for ABC television) to channel 4(program data for NBC television) both of which contain news, and noadult content.

Another advantageous feature of the navigational scheme of the presentinvention is context sensitivity. As introduced above with reference toFIGS. 5 and 6, context sensitivity generally refers to the featurewhereby when moving between tools a viewer remains in the same categoryof content. For example, referring to FIG. 6, when moving from atelevision channel in the zone defined by the channel tool andtelevision domain, e.g., channel 5 at map coordinates (3, 2, 3), if thetool is changed such that the viewer moves to map coordinates (4, 2, 3)which is the information tool, then the system will move from thetelevision channel 5 to information regarding the programming on channel5.

The system associates policies with the channel rings and their pointersto control the operation of the tools in various domains. The policiesaffect the context sensitivity of each tool as well as the blockingfunctions of the present invention. Particular attention is directed toFIG. 40 which is an exemplary map of domains and zones including channelring pointers and pointer policies for each zone. Default policies areset for each zone. Exemplary default policies include:

I. If the pointer state and the policies below would point to a blockedposition, set the pointer to the default position (which is unblocked)for the channel ring;

II. If the default position is sorted-out, change the sort state to thedefault and the pointer to the default position;

III. If the appropriate channel ring does not exist in the currentdomain, use the default channel ring for that domain.

Exemplary channel ring policies include:

A. Drop any blocked items for this ring for this family member;

B. Change the ring to the last sort state and block according to familymember;

C. Leave the ring for this zone unchanged.

Exemplary pointer policies are as follows:

1. Leave the pointer for this zone unchanged;

2. Change pointer to the last sort state (e.g., news);

3. Set the pointer to the last channel watched in this domain, or thenearest channel that is not blocked or sorted-out;

4. Set pointer to last family member.

In the exemplary embodiment of FIG. 40, every zone includes a channelring policy and pointer policy. For example, in the zone defined by thehost tool and games domain, the policies are “C, 1”, meaning that thechannel ring policy is to leave the ring for this zone unchanged and thepointer policy is to leave the pointer for this zone unchanged.Alternatively, at the intersection of the channel tool and shoppingdomain, the policy is “A, 3”. Policy A states that the channel ringpolicy is to drop any blocked items for this ring for this family memberand pointer policy 3 is to set the pointer to the last channel watchedin this domain, or the nearest channel that is not blocked orsorted-out.

Taking the television domain as an example, it can be seen that thepolicies work to provide a user with an intuitive and efficient system.For example, the host tool has a policy “A, 2” which requires that anyblocked items be dropped for this ring for this family member and changepointer to the last sort state. If the last sort was news, the channelring would start with the news host (or map location (0, 2, 1) of FIG.6). Similarly, the zone defined by the MSB in the television domain alsocarries policy “A, 2” which means that if news was the last sort state,this policy would require that the system go to map location (1, 2, 1)of FIG. 8 and display the news MSB.

For the IPG tool in the television domain, the policy is “B, 3” whichmeans that the channel ring changes the ring to the last sort state andblocks according to family member. Additionally, the pointer policy isto set to the last channel watched in this domain or nearest channelthat is not blocked or sorted.

Additionally, the zones for the channel and info tools have policies thesame as the IPG, and would function the same. The custom tool in thetelevision zone has a policy “C, 4” which means that the ring for thiszone is unchanged and the pointer policies are to set the pointer to thelast family member. Accordingly, if DAD was the last family member to bein this zone, then when this zone, is accessed it would go back to DAD.

From the foregoing, it can be seen that the navigation scheme isdesigned to facilitate easy and effective navigation through amultiplicity of channels. Viewers can change among domains, among tools,and, when in a certain zone, among channels within that zone. The vieweris provided with a feeling of three dimensional movement when movingamong domains, tools, and channels. Additionally, direct access toparticular programming is provided using an enter key.

It will thus be seen that the objects set forth above, among those madeapparent from the preceding description, are efficiently attained and,since certain changes may be made in carrying out the above method andin the construction set forth without departing from the spirit andscope of the invention, it is intended that all matter contained in theabove description and shown in the accompanying drawings shall beinterpreted as illustrative and not in a limiting sense.

What is claimed is:
 1. A method for presenting television program schedule data on a television display, the schedule data being organized in a data plane comprising a plurality of data cells identifying the schedule data, the method comprising: presenting a highlight cell at a fixed coordinate position on the display such that all or part of at least a first data cell of the plurality of data cells is at a concurrent position with the highlight cell; and allowing the data plane to scroll on the display in at least one direction such that all or part of the first data cell moves out of concurrent position with the highlight cell and a second data cell or part thereof moves into concurrent position with the highlight cell.
 2. The method of claim 1, wherein the step of allowing the data plane to scroll comprises allowing the data plane to scroll such that a second at least partly displayed data cell or part thereof moves into concurrent position with the highlight cell allowing selection of a data cell at a concurrent position with the highlight cell.
 3. The method of claim 1, comprising allowing the data plane to scroll in a plurality of directions.
 4. The method of claim 1, wherein the data plane comprises a matrix of data cells organized in rows and columns.
 5. The method of claim 4, comprising allowing the data plane to scroll in a direction parallel to the rows or columns.
 6. The method of claim 5, comprising allowing the data plane to scroll in directions parallel to the rows and columns.
 7. The method of claim 1, comprising presenting additional data upon selection of a data cell.
 8. The method of claim 7, wherein the data is television program schedule data and each data cell identifies a television program, and wherein the step of presenting additional data comprises presenting the television program identified in the selected data cell.
 9. The method of claim 1, comprising deleting one or more data cells from the display as the data plane scrolls.
 10. The method of claim 9, comprising presenting additional data cells on the display as the data plane scrolls.
 11. The method of claim 1, wherein the data represents scheduled events, wherein each data cell contains an identifier of one of the events, and wherein the data cells are organized in scheduled time order.
 12. The method of claim 11, wherein the size of each data cell represents a duration of the event identified in the data cell.
 13. The method of claim 12, wherein the durations of the events are whole number multiples of a base duration, wherein the highlight cell has a size substantially equivalent to the size of a data cell identifying an event having a base duration, and comprising allowing the data plane to scroll in units of the base duration.
 14. The method of claim 13, wherein a given data cell identifies an event having a duration longer than the base duration, comprising presenting the event identifier for the given data cell in each part of the given data cell having a size equivalent to the base duration, such that when the event identifier is contained within the highlight cell whenever any part of the given data cell is at a concurrent position with the highlight cell.
 15. The method of claim 13, wherein a given data cell identifies an event having a duration longer than the base duration, comprising retaining the event identifier for the given data cell within the highlight cell as the data plane scrolls from a concurrent position with the highlight cell of one part of the given data cell to another part of the given data cell.
 16. The method of claim 11, wherein the data represents scheduled television programs broadcast on a plurality of different channels over a period of time, and wherein the data plane is organized to present program information as channels versus time.
 17. The method of claim 16, comprising providing an indication in a given data cell that a television program identified in the given data cell is tagged for later viewing.
 18. The method of claim 16, comprising providing an indication that a television program identified in a given data cell is blocked from viewing.
 19. The method of claim 16, comprising presenting a description of a television program identified in a given data cell which is at a concurrent position with the highlight cell.
 20. The method of claim 1, wherein the highlight cell is capable of having at least two different sizes, comprising varying the size of the highlight cell between a first size and a second size.
 21. The method of claim 20, comprising presenting a second data plane on the display, and wherein the step of varying the highlight cell size comprises varying the highlight cell size to the second size when the second data plane is presented.
 22. The method of claim 21, wherein the second data plane contains schedule data for a selected category.
 23. The method of claim 21, wherein the highlight cell has the first size when all or part of the first data cell is at a concurrent position with the highlight cell, and wherein the step of varying comprises varying the highlight cell size to the second size when the second data cell or part thereof moves into concurrent position with the highlight cell.
 24. The method of claim 23, wherein the first highlight cell size corresponds to the first data cell size and the second highlight cell size corresponds to the second data cell size.
 25. The method of claim 1, wherein the step of presenting the highlight cell comprises presenting the highlight cell at a substantial central location on the display.
 26. A system for presenting television program schedule data on a television display, the schedule data being organized in a data plane comprising a plurality of data cells identifying the schedule data, the system comprising: means for presenting a highlight cell at a fixed coordinate position on the display such that all or part of at least a first data cell of the plurality of data cells is at a concurrent position with the highlight cell; and means for allowing the data plane to scroll on the display in at least one direction, such that the first data cell moves out of concurrent position with the highlight cell and a second data cell or part thereof moves into concurrent position with the highlight cell means for allowing selection of a data cell at a concurrent position with the highlight cell. 